package com.bfly.mall.product.service;

import com.bfly.core.base.service.IBaseService;
import com.bfly.mall.product.entity.Product;
import com.bfly.mall.product.dto.ProductFormDTO;

import java.util.List;

/**
 * @author 长沙商脉科技有限公司
 * @date 2020/9/24 10:54
 */
public interface IProductService extends IBaseService<Product, Integer> {

    /**
     * 修改产品上架状态
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/24 10:55
     */
    void editShelf(int productId, boolean isOnShelf);

    /**
     * 新增产品
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/24 15:52
     */
    void save(ProductFormDTO formDTO);

    /**
     * 编辑产品
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/9/24 15:52
     */
    void edit(ProductFormDTO formDTO);

    /**
     * 更新产品实际销量
     * @author 长沙商脉科技有限公司
     * @date 2020/11/14 22:01
     */
    void incrementProductActualSales(int productId,int setup);

    /**
     * 获得用户收藏的产品
     * @author 长沙商脉科技有限公司
     * @date 2020/12/1 12:54
     */
    List<Product> getProductFavorite(int userId);

    /**
     * 产品排序
     * @author 长沙商脉科技有限公司
     * @date 2020/12/31 9:37
     */
    void sortProduct(int productId,int seq);
}
